import { toLogin } from "@/router";
import axios from "axios";
// 创建新的 axios 实例对象
const instance = axios.create({
    //基础路径
    baseURL: import.meta.env.VITE_BASE_URL,
    //请求超时时间
    timeout: 5000
});
//配置响应拦截器
instance.interceptors.response.use((res) => {
    return res.data;
}, (error) => {
    //响应失败
    if (error.response.status == 401) {
        ElMessageBox.alert('登录已过期,请重新登录。', '提示', {
            confirmButtonText: '确认',
            callback: () => {
                toLogin();
            },
        })
    } else if (error?.response?.status == 500) {
        ElMessage.error('服务器出错，请稍后重试。');
    }
    return Promise.reject(error.message);
});
//配置请求拦截器(请求从前端发往后端的过程中，被拦截下来)
instance.interceptors.request.use((config) => {
    // 将本地存储中的token取出来，添加到所有请求的headers（请求头）中
    config.headers.Authorization = localStorage.loginToken;
    return config
});

//暴露响应拦截器 以供其他文件使用
export default instance;
